Most businesses have a full set of computer related needs. For example, a business may need Internet access, software updates, hard disk maintenance, etc. Often businesses have plural servers and printers, as well as other peripherals, connected to a network within an office.
Most computer networks are managed by either an in house information technologies (IT) department, or for smaller businesses, an independent computer consultant. The IT department or computer consultant handles all day to day maintenance, software updates, archiving, etc. of the entire computer network in an office environment.
It is possible to save significant costs by outsourcing the management of computer capabilities. The outsourcing model permits a single data center service provider to utilize the most advanced and presumably expensive hardware and software, which would not be economically feasible for a smaller office environment. By distributing the cost of such expensive hardware and software over numerous independent customers, and by sharing the resource, each customer can have the use of the best available security, data backup capabilities, etc. For example, a firewall can be implemented that is far more secure, better tested, and more comprehensive than any firewall that a single small office could afford.
One issue faced by such a data center service provider that provides services to numerous independent customers is that of separation and security between the customers. An example of the problem is described with respect to FIG. 1.
A server “forest” 102 located at a data center 100 serves to supply configuration, management, software support and services to plural different customers 110, 120, 130, and 140. The server forest is denoted as a single triangle, but may represent a network of servers that meet the definition of a forest as explained below and as is known to those in this art. The customer networks 110, 120, 130 and 140 are termed “customer forests”, also as that term is known in the art.
A forest is defined as a collection of one or more active directory trees organized as peers and connected by two-way trust relationships between the root domain of each tree. A domain is typically used to refer to collections of one or more computers and users within a single security grouping which are administered as a group. Forests and domains are terms used regularly by those of skill in the art, and are defined in a variety of literature published by Microsoft and other market participants. A forest may also be thought of as a collection of one or more domains that create a single security boundary and management entity.
The architecture shown in FIG. 1 provides that a remote server 102 may provide various types of data services, configuration, management and numerous other services typically required of such systems, to the client computers located in each independent customer network or forest 110, 120, 130 and 140. Data services that are typical of those provided may also include e-mail, dial up access, back-up, anti-virus software, telephony functions, and other similar related functions typically provided in such environments. Configuration and management services such as monitoring operability of the various client computers in various customer sites, software distribution, management, password management, security, and access control, etc. are also contemplated.
One problem encountered with the use of a remote server to handle multiple independent customers is maintaining separation and security among the various customer sites. More specifically, the architecture of FIG. 1 makes it possible for one of the customers to discover the identity of other customers, and their workstations, servers and other devices, and possibly access data by hacking into another customer's site through the server forest 102. Accordingly, in order to give plural customers the assurance that their identity and data will be maintained separate from other customers of the data center, it is important that adequate separation and security be maintained at the server forest 102.
In order for the server to provide the appropriate services, a trust may be setup so that the server forest 102 trusts the client forest 110, 120, 130, or 140. In this manner, server forest 102 can provide appropriate services to clients 104-108 with full confidence in their identity. However, in order for the clients 104-108 to accept software updates, configuration and management commands, etc. from server forest 102, the clients 104 through 108 must trust the server 102. Accordingly, a two-way trust would be required.
The two-way trust results in a compromise of security and separation. More specifically, if the client forests (e.g., 110, 120) trust server forest 102, and the server forest trusts the client forests, then it is possible through the use of a “transitive trust” for the client forests to affect one another through the server forest 102.
In view of the foregoing, there exists a need in the art for an improved method and apparatus for maintaining security and separation among various client forests when connected to a common server forest.
There also exists a need in the art for a technique to provide a set of data services (e.g. shared files backup, remote access, any virus support, etc.) to a plurality of independent client forests and for providing configuration and management of the client forest (e.g. monitoring, software distribution, password and security management, etc.) without compromising the separation among the plural forests.
There also exists a need in the art for providing the authentication typically given by trusts in a manner that avoids the problem of a transitive trust being used by one client forest to compromise the separation and security maintained by the server forest.